d2c112929a23b66832dbf2b0ed4cf487be4be4a4,core/generator/source/jetbrains/mps/generator/impl/TemplateGenerator.java,TemplateGenerator,apply,#boolean#,131
Before Change
myChanged |= myDependenciesBuilder.isStepRequired(); // TODO optimize: if step is required, it should be the last step
// optimization: no changes? quit
if (!isPrimary && !myChanged && myDelayedChanges.isEmpty() && !myWeavingProcessor.hasWeavingRulesToApply()) {
return false;
}
if (!myInplaceModelChange) {
// publish roots
for (SNode outputRoot : myOutputRoots) {
myOutputModel.addRootNode(outputRoot);
}
// reload "required" roots from cache
ttrace.push("reloading roots from cache", false);
myDependenciesBuilder.reloadRequired(getMappings());
ttrace.pop();
} // XXX if in-place change, every required root has been reloaded on previous step, imo
checkMonitorCanceled();
if (myWeavingProcessor.hasWeavingRulesToApply()) {
ttrace.push("weavings", false);
After Change
} // XXX if in-place change, every required root has been reloaded on previous step, imo
if (myWeavingProcessor.hasWeavingRulesToApply()) {
checkMonitorCanceled();
ttrace.push("weavings", false);
myWeavingProcessor.apply();
myWeavingProcessor = null;